#include<iostream>
#include<string>

using namespace std;
//
//string addStrings(string num1, string num2) {
//    int i1 = num1.size() - 1;
//    int i2 = num2.size() - 1;
//
//    string ret;
//    int carry = 0;
//    while (i1 >= 0 || i2 >= 0 || carry>0)
//    {
//        
//        int t1 = i1 >= 0 ? num1[i1] - '0' : 0;
//        int t2 = i2 >= 0 ? num2[i2] - '0' : 0;
//        int tmp = t1 + t2 + carry;
//        if (tmp > 9)
//        {
//            carry = tmp/10;
//            tmp %= 10;
//        }
//
//        ret += (tmp + '0');
//
//        i1--;
//        i2--;
//    }
//    reverse(ret.begin(), ret.end());
//    return ret;
//}
//
//
//int main()
//{
//    string ret=addStrings("1", "9");
//    cout << ret << endl;
//	return 0;
//}
//
//#include<vector>
//
//
//int StrToInt(string str) {
//    int flag = 1;
//    vector<int> vi;
//    if (str[0] == '+')
//    {
//        flag = 1;
//    }
//    else if (str[0] == '-') {
//        flag = 0;
//    }
//    else if (str[0] >= '0' && str[0] <= '9')
//    {
//        vi.push_back(str[0] - '0');
//
//    }
//
//    for (int i = 1; i < str.size(); i++)
//    {
//        if (str[i] < '0' || str[i]>'9')
//        {
//            return 0;
//        }
//        vi.push_back(str[i] - '0');
//    }
//
//
//    int ret = 0;
//    int t = 0;
//    for (int i = 0; i < vi.size(); i++)
//    {
//        t = vi[i];
//        ret = ret * 10 + t;
//    }
//
//}
//
//int main()
//{
//    StrToInt("+123");
//    return 0;
//}

#include<vector>
//void reverseString(vector<char>& s) {
//    int left = 0;
//    int right = s.size() - 1;
//
//    while (left < right)
//    {
//        swap(s[left], s[right]);
//        left++;
//        right--;
//    }
//
//}


int firstUniqChar(string s) {
    string tmp(s);
    for (int i = 0; i < s.size(); i++)
    {
        size_t pos = s.find(tmp[i]);
        if (pos == string::npos)
        {
            return i;
        }
    }

    return -1;
}

int main()
{
    firstUniqChar("leetcode");
    return 0;
}
